// See https://aka.ms/new-console-template for more information

using AdminApiTemplate.Common.Helpers;
using AdminApiTemplate.Test;

while (true)
{
    Model2SqlBuild();
    //Sql2ModelBuild();
    //CreatePassword();
    //GetPassword();
    //CreateConnectionString();
    //GetConnectionString();
}

/// <summary>
/// Model转Sql
/// </summary>
void Model2SqlBuild()
{
    Console.Write("请输入程序集文件完整路径,类型,数据库类型：");
    var input = Console.ReadLine();
    Model2Sql.Build(input);
    Console.WriteLine("处理完成\r\n");
}

/// <summary>
/// Sql转Model
/// </summary>
void Sql2ModelBuild()
{
    Console.Write("请输入连接字符串,库名,表名：");
    var input = Console.ReadLine();
    Sql2Model.Build(input);
    Console.WriteLine("处理完成\r\n");
}

/// <summary>
/// 生成密码（存储在数据库用）
/// </summary>
void CreatePassword()
{
    Console.Write("生成密码（存储在数据库用）：");
    var input = Console.ReadLine();
    var result = EncryptHelper.DesEncrypt(input);
    Console.WriteLine($"处理完成：{result}\r\n");
}

/// <summary>
/// 获取密码（从数据库解析）
/// </summary>
void GetPassword()
{
    Console.Write("获取密码（从数据库解析）：");
    var input = Console.ReadLine();
    var result = EncryptHelper.DesDecrypt(input);
    Console.WriteLine($"处理完成：{result}\r\n");
}

/// <summary>
/// 生成数据库连接字符串（加密）
/// </summary>
void CreateConnectionString()
{
    Console.Write("生成数据库连接字符串（加密）：");
    var input = Console.ReadLine();
    var parts = input.Split(',');
    var result = EncryptHelper.DESEncrypt(parts[0], parts[1]);
    Console.WriteLine($"处理完成：{result}\r\n");
}

/// <summary>
/// 获取数据库连接字符串（解密）
/// </summary>
void GetConnectionString()
{
    Console.Write("获取数据库连接字符串（解密）：");
    var input = Console.ReadLine();
    var parts = input.Split(',');
    var result = EncryptHelper.DESDecrypt(parts[0], parts[1]);
    Console.WriteLine($"处理完成：{result}\r\n");
}
